package com.cq.hd.member.api.vo;

import com.alibaba.fastjson.annotation.JSONField;
import com.cq.hd.common.serialize.Decimal2Serializer;


import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
public class AdminMemberFeeBillPageVo implements Serializable {

    @ApiModelProperty(value = "id")
    private Long id;

    @ApiModelProperty(value = "会员配置id")
    private Long feeConfigId;

    @ApiModelProperty(value = "套餐名称")
    private String memberName;

    @ApiModelProperty(value = "套餐费用")
    @JsonSerialize(using = Decimal2Serializer.class)
    private BigDecimal memberFee;

    @ApiModelProperty(value = "订单编号")
    private String orderNo;

    @ApiModelProperty(value = "支付方式(1-微信，2-网银对公)")
    private Integer payType;

    @ApiModelProperty(value = "支付状态(1-待支付,2-支付成功，3-支付失败)")
    private Integer payState;

    @ApiModelProperty(value = "支付失败原因")
    private String payFailReason;

    @ApiModelProperty(value = "第三方流水号")
    private String returnNo;

    @ApiModelProperty(value = "请求流水号")
    private String hfReqSeqId;

    @JSONField(format="yyyy.MM.dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    @JSONField(format="yyyy.MM.dd HH:mm:ss")
    @ApiModelProperty(value = "支付时间")
    private LocalDateTime payTime;

    @JSONField(format="yyyy.MM.dd HH:mm:ss")
    @ApiModelProperty(value = "到账时间")
    private LocalDateTime arriveTime;

    @ApiModelProperty(value = "下单商家名称")
    private String businessName;

    @ApiModelProperty(value = "会员类型：1商场版 2商户版")
    private Integer memberType;

    @ApiModelProperty(value = "最多可邀请经纪人数量(累计)。null表示不限制")
    private Integer maxInviteAgentCount;

    @ApiModelProperty(value = "单活动商户数（一个活动最多引用几个商户的产品）。null表示不限制")
    private Integer singleActiveMerchantCount;
}
